export enum ESearchType {
  input = 'input',
  selection = 'selection',
  date = 'date',
  dateRange = 'dateRange',
}

// 业务层级
export enum EBizLevel {
  Acquirer = 'institution',
  Institution = 'institution',
  Group = 'agent',
  Agent = 'agent',
  Merchant = 'merchant',
  Store = 'store',
  Terminal = 'terminal',
  User = 'user',
}

// 报表状态
export enum EReportStatus {
  Normal = 'normal', // 正常状态
  Disabled = 'disabled', // 停用状态
}

// 报表类型
export enum EReportType {
  Standard = 0, // 标准报表
  Custom = 1, // 定制报表
  SelfDefined = 2, // 自定义报表
}

// 门店状态
export enum EStoreStatus {
  Normal = 'Normal',
  Deleted = 'Deleted',
  Test = 'Test',
}

// 支付品牌
export enum EPaymentBrand {
  Alipay = 'ALP',
  WeChat = 'WXP',
  WeChatHK = 'WHK',
  Grab = 'GRB',
  TrueMoney = 'TRU',
  NTT = 'DOT',
  TIS = 'TIS',
  UPI = 'UPI',
  Visa = 'VIS',
  MasterCard = 'MCC',
  FPS = 'FPS',
  AME = 'AME',
  Adyen = 'Adyen',
  Stripe = 'Stripe',
  JCB = 'JCB',
  Empty = '',
  KBank= 'KBank'
}

export enum ECardTradeChannel {
  'VIS' = 'PAYMENT_BRAND.VIS',
  'MCC' = 'PAYMENT_BRAND.MCC',
  'AME' = 'PAYMENT_BRAND.AME',
}

// 交易渠道，和支付品牌是相反的关系
export enum ETradeChannel {
  'ALP' = 'PAYMENT_BRAND.ALP',
  'WXP' = 'PAYMENT_BRAND.WXP',
  'FPS' = 'PAYMENT_BRAND.FPS',
  'MCC' = 'PAYMENT_BRAND.MCC',
  'TRU' = 'PAYMENT_BRAND.TRU',
  'UPI' = 'PAYMENT_BRAND.UPI',
  'VIS' = 'PAYMENT_BRAND.VIS',
  'AME' = 'PAYMENT_BRAND.AME',
  // 'GRB' = 'PAYMENT_BRAND.GRB',
  // 'WHK' = 'PAYMENT_BRAND.WHK',
  // 'DOT' = 'PAYMENT_BRAND.DOT',
  // 'TIS' = 'PAYMENT_BRAND.TIS',
  // 'Adyen' = 'PAYMENT_BRAND.ADYEN',
  // 'Stripe' = 'PAYMENT_BRAND.STRIPE',
}

// 交易场景
export enum ETransScene {
  /** 码 */
  'api-complete' = 'TRANS_SCENE.api-complete',
  'api-freeze' = 'TRANS_SCENE.api-freeze',
  'api-pay' = 'TRANS_SCENE.api-pay',
  'api-refund' = 'TRANS_SCENE.api-refund',
  'api-scan' = 'TRANS_SCENE.api-scan',
  'api-transport' = 'TRANS_SCENE.api-transport',
  'api-unfreeze' = 'TRANS_SCENE.api-unfreeze',
  'appp' = 'TRANS_SCENE.appp',
  'doco-pay' = 'TRANS_SCENE.doco-pay',
  'doco-refund' = 'TRANS_SCENE.doco-refund',
  'doco-scan' = 'TRANS_SCENE.doco-scan',
  'mini-program-pay' = 'TRANS_SCENE.mini-program-pay',
  'mis-pay' = 'TRANS_SCENE.mis-pay',
  'mis-refund' = 'TRANS_SCENE.mis-refund',
  'mis-scan' = 'TRANS_SCENE.mis-scan',
  'others' = 'TRANS_SCENE.others',
  'pc-pay' = 'TRANS_SCENE.pc-pay',
  'pos-complete' = 'TRANS_SCENE.pos-complete',
  'pos-freeze' = 'TRANS_SCENE.pos-freeze',
  'pos-unfreeze' = 'TRANS_SCENE.pos-unfreeze',
  'qr-pay' = 'TRANS_SCENE.qr-pay',
  'term-complete' = 'TRANS_SCENE.term-complete',
  'term-freeze' = 'TRANS_SCENE.term-freeze',
  'term-pay' = 'TRANS_SCENE.term-pay',
  'term-refund' = 'TRANS_SCENE.term-refund',
  'term-scan' = 'TRANS_SCENE.term-scan',
  'term-unfreeze' = 'TRANS_SCENE.term-unfreeze',
  'web-chan-refund' = 'TRANS_SCENE.web-chan-refund',
  'web-pay' = 'TRANS_SCENE.web-pay',
  'web-refund' = 'TRANS_SCENE.web-refund',
  'web-scan' = 'TRANS_SCENE.web-scan',

  /** 卡 */
  'card-others' = 'TRANS_SCENE.card-others',
  'card-web-refund' = 'TRANS_SCENE.card-web-refund',
  'web-ATH' = 'TRANS_SCENE.web-ATH',
  'pos-BLD' = 'TRANS_SCENE.pos-BLD',
  'pos-PER' = 'TRANS_SCENE.pos-PER',
  'pos-PVR' = 'TRANS_SCENE.pos-PVR',
  'pos-CTH' = 'TRANS_SCENE.pos-CTH',
  'pos-PPA' = 'TRANS_SCENE.pos-PPA',
  'pos-PNP' = 'TRANS_SCENE.pos-PNP',
  'pos-ACR' = 'TRANS_SCENE.pos-ACR',
  'pos-PCR' = 'TRANS_SCENE.pos-PCR',
  'pos-CVR' = 'TRANS_SCENE.pos-CVR',
  'pos-CJT' = 'TRANS_SCENE.pos-CJT',
  'pos-ADJ' = 'TRANS_SCENE.pos-ADJ',
  'pos-OPE' = 'TRANS_SCENE.pos-OPE',
  'openapi-PER' = 'TRANS_SCENE.openapi-PER',
  'openapi-PVR' = 'TRANS_SCENE.openapi-PVR',
  'openapi-CTH' = 'TRANS_SCENE.openapi-CTH',
  'openapi-PPA' = 'TRANS_SCENE.openapi-PPA',
  'openapi-PNP' = 'TRANS_SCENE.openapi-PNP',
  'openapi-ACR' = 'TRANS_SCENE.openapi-ACR',
  'openapi-PCR' = 'TRANS_SCENE.openapi-PCR',
  'openapi-CVR' = 'TRANS_SCENE.openapi-CVR',
  'openapi-CJT' = 'TRANS_SCENE.openapi-CJT',
  'openapi-ADJ' = 'TRANS_SCENE.openapi-ADJ',
  'openapi-OPE' = 'TRANS_SCENE.openapi-OPE',
  'in-app-applepay-pay' = 'TRANS_SCENE.in-app-applepay-pay',
  'in-app-applepay-refund' = 'TRANS_SCENE.in-app-applepay-refund',

  // 'pt-refund' = '返点退货',
  // 'canc' = '取消',
  // 'freeze' = '预授权冻结',
  // 'unfreeze' = '预授权解冻',
  // 'auth-complete' = '预授权完成',

  /** MOTO pos 交易 */
  'pos-MPA' = 'TRANS_SCENE.pos-MPA',   // MOTO预授权
  'pos-MNP' = 'TRANS_SCENE.pos-MNP',   // MOTO预授权撤销
  'pos-MCR' = 'TRANS_SCENE.pos-MCR',   // MOTO预授权完成
  'pos-MRV' = 'TRANS_SCENE.pos-MRV',   // MOTO预授权完成撤销
  'pos-MER' = 'TRANS_SCENE.pos-MER',   // MOTO消费
  'pos-MVR' = 'TRANS_SCENE.pos-MVR',   // MOTO消费撤销
  'pos-MTH' = 'TRANS_SCENE.pos-MTH',   // MOTO退货
  'pos-MFR' = 'TRANS_SCENE.pos-MFR',   // MOTO退货撤销
  // 'pos-MDC' = 'TransScenePosMDC',     // MOTO退货撤销冲正
  // 'pos-MPC' = 'TransScenePosMPC',     // MOTO预授权冲正
  // 'pos-PMC' = 'TransScenePosPMC',     // MOTO预授权撤销冲正
  // 'pos-MCC' = 'TransScenePosMCC',     // MOTO预授权完成冲正
  // 'pos-MRC' = 'TransScenePosMRC',     // MOTO预授权完成撤销冲正
  // 'pos-MEC' = 'TransScenePosMEC',     // MOTO消费冲正
  // 'pos-MVC' = 'TransScenePosMVC',     // MOTO消费撤销冲正
  // 'pos-MFC' = 'TransScenePosMFC',     // MOTO退货冲正
   /** MOTO web 交易 */
  'web-MPA' = 'TRANS_SCENE.web-MPA',   // MOTO预授权
  'web-MNP' = 'TRANS_SCENE.web-MNP',   // MOTO预授权撤销
  'web-MCR' = 'TRANS_SCENE.web-MCR',   // MOTO预授权完成
  'web-MRV' = 'TRANS_SCENE.web-MRV',   // MOTO预授权完成撤销
  'web-MER' = 'TRANS_SCENE.web-MER',   // MOTO消费
  'web-MVR' = 'TRANS_SCENE.web-MVR',   // MOTO消费撤销
  'web-MTH' = 'TRANS_SCENE.web-MTH',   // MOTO退货
  'web-MFR' = 'TRANS_SCENE.web-MFR',   // MOTO退货撤销
}

// 交易状态
export const TransProc = {
  7: '未知7',
  6: '未知6',
  5: '处理中',
  2: '失败',
  0: '成功',
}

// 交易状态国际化
export const TransProcI18n = {
  7: 'TRANS_PROC.UNKNOWN_7',
  6: 'TRANS_PROC.UNKNOWN_6',
  5: 'TRANS_PROC.PENDING',
  2: 'TRANS_PROC.REJECT',
  0: 'TRANS_PROC.RESOLVE',
}

// 用户类型
export enum EUserType {
  CIL = 'admin', // 超级管理员
  GenAdmin = 'genAdmin', // 普通管理员
  Institution = 'institution', // 机构用户
  Agent = 'agent', // 集团用户
  Merchant = 'merchant', // 商户用户
  Store = 'store', // 门店用户
}

// 用户类型翻译字段对应
export enum EUserTypeI18n {
  CIL = 'USERTYPE.ADMIN', // 超级管理员
  GenAdmin = 'USERTYPE.GENADMIN', // 普通管理员
  Institution = 'USERTYPE.INSTITUTION', // 机构用户
  Agent = 'USERTYPE.AGENT', // 集团用户
  Merchant = 'USERTYPE.MERCHANT', // 商户用户
  Store = 'USERTYPE.STORE', // 门店用户
}

// 汇总维度翻译字段对应
export enum ELevelI18n {
  Institution = 'GENERAL.BIZ_LEVEL.INSTITUTION', // 机构
  Agent = 'GENERAL.BIZ_LEVEL.AGENT', // 集团
  Merchant = 'GENERAL.BIZ_LEVEL.MERCHANT', // 商户
  Store = 'GENERAL.BIZ_LEVEL.STORE', // 门店
}

export enum EUserStatus {
  Normal = 'normal',
  Freeze = 'freeze',
}

export enum EStatus {
  Normal = 'normal',
  Freeze = 'freeze',
}

// 报表状态
export enum EColumnType {
  Date = 'date', // 日期
  Address = 'address',
  Select = 'select',
  Checkbox = 'checkbox',
  Radio = 'radio',
  Switch = 'switch',
}

export enum ERoleType {
  Admin = 1, // 管理员角色类型
  Acquirer = 2, // 机构角色类型
  Group = 3, // 集团角色类型
  Merchant = 4, // 商户角色类型
  Store = 5, // 门店角色类型
}

// 1-菜单，2-公共菜单，3-功能，4-免登录，5-免验证, 6-映射菜单
export enum EMenuType {
  Menu = 1,
  CommonMenu = 2,
  Function = 3,
  Public = 4,
  Protect = 5,
  Mapping = 6,
}

export enum ETabScrollStatus {
  InitialLoad = 1,
  Stop = 2,
  Scroll = 3,
}

/** 自定义 ACL 控制 */
export enum ECustomAcl {
  ReleaseDetailDate = 'cil.custom.release.date',
  AuditStore = 'cil.custom.audit.store',
  StoreEditable = 'cil.custom.store.editable',
  ChargeDebitAndRepresent = 'cil.custom.charge.debitAndRepresent',
  AcquirerSupportDualMessage = 'cil.custom.acquirer.supportDualMessage',
  Present= 'cil.custom.trade.detail.present',
  PendingAmt= 'cil.custom.trade.detail.pendingAmt',
  TerminalPANCanUPI = 'cil.custom.terminal.pan.upi',
  TerminalPANCanVIS = 'cil.custom.terminal.pan.vis',
  TerminalPANCanMCC = 'cil.custom.terminal.pan.mcc',
  TerminalPANCanFPS = 'cil.custom.terminal.pan.fps',
  StoreTrueMoney= 'cil.custom.store.truemoney.showid',
  StoreCurrencies= 'cil.custom.store.truemoney.currency',
  VisaCurrencyChannel= 'cil.custom.channel.visa.currency',
}
